package com.liang.lingdong.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.liang.lingdong.model.topic.Topic;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liang.lingdong.model.topic.dto.CreateTopicDto;
import com.liang.lingdong.model.topic.dto.QueryTopicListDto;
import com.liang.lingdong.model.topic.dto.UpdateTopicDto;
import com.liang.lingdong.model.topic.vo.TopicVo;

import java.util.List;

/**
* @author liang
* @description 针对表【topic(题目表)】的数据库操作Service
* @createDate 2024-11-29 21:34:17
*/
public interface TopicService extends IService<Topic> {

    /**
     * 创建题目
     * @param createTopicDto 题目参数
     * @return 结果
     */
    Long createTopic(CreateTopicDto createTopicDto);

    /**
     * 更新题目
     * @param updateTopicDto 题目参数
     * @return 结果
     */
    boolean updateExam(UpdateTopicDto updateTopicDto);

    /**
     * 删除题目
     * @param aLong 题目id
     * @return 结果
     */
    boolean deleteTopicById(Long aLong);

    /**
     * 根据id查询题目
     * @param examId 考试id
     * @return 结果
     */
    List<TopicVo> getTopicListByExamId(Long examId);

    /**
     * 解绑题目
     * @param topicId 题目id
     * @return 结果
     */
    boolean unbindTopic(Long topicId);

    /**
     * 分页查询题目
     * @param queryTopicListDto 题目参数
     * @return 结果
     */
    Page<TopicVo> queryTopicListByPage(QueryTopicListDto queryTopicListDto);
}
